﻿using Sustainalytics.Entities;
using System;
using System.Collections.Generic;

namespace Sustainalytics.AuthOperations
{
    public interface IAuthOperations
    {
        void ChangePassword(string username, string oldPassword, string newPassword);

        void SetPassword(string username, string password);

        void ResetPasswordByUserIds(IEnumerable<Guid> userIds);

        void ResetPasswordByUsername(string username, PasswordEmailMessageBody emailBody);

        void ResetPasswordByUser(User user, PasswordEmailMessageBody emailBody);

        bool ValidateAccountStatus(string username);

        bool ValidatePasswordStatus(string username);

        void NotifyUserNotActive(string username);

        void AcceptLegalAgreement(string username);

        void AcceptFirstTimeRRUser(string username);

        void AcceptFirstTimeSPUser(string username);
    }
}
